-- 1、获取key
local key = KEYS[1]

-- 2、获取限流次数
local count = tonumber(ARGV[1])

-- 3、获取限流时间
local time = tonumber(ARGV[2])

-- 4、根据key获取已经访问的次数
local current = redis.call('get', key)

-- 5、比较已访问次数与限流次数
if current and tonumber(current) > count then
    -- 5.1、大于 返回 0 表示超出
    return 0
end

-- 5.2 否则将redis中的访问记录数加1
current = redis.call('incr', key)

-- 6、判断是否是首次访问 若是 设置过期时间
if tonumber(current) == 1 then
    redis.call('expire', key, time);
end

return 1